package com.yeyks.hotel.dal.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 酒店信息表
 * </p>
 *
 * @author yun
 * @since 2019-06-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="HotelInfo对象", description="酒店信息表")
public class HotelInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "酒店ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField("gmt_create")
    private Date gmtCreate;

    @TableField("gmt_modified")
    private Date gmtModified;

    @ApiModelProperty(value = "酒店归属用户ID 关联account_info")
    @TableField("operator_id")
    private Integer operatorId;

    @ApiModelProperty(value = "省代id")
    @TableField("province_agent_id")
    private Integer provinceAgentId;

    @ApiModelProperty(value = "市区id")
    @TableField("city_agent_id")
    private Integer cityAgentId;

    @ApiModelProperty(value = "区县代理商ID  关联account_info")
    @TableField("admin_id")
    private Integer adminId;

    @ApiModelProperty(value = "酒店开发商id")
    @TableField("developer_id")
    private Integer developerId;

    @ApiModelProperty(value = "开发商名称")
    @TableField(exist=false)
    private String developerName;

    @ApiModelProperty(value = "酒店对应公司ID 关联company_info")
    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty(value = "酒店名称")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "酒店描述信息")
    @TableField("description")
    private String description;

    @ApiModelProperty(value = "地址")
    @TableField("address")
    private String address;

    @ApiModelProperty(value = "类型 :集团  连锁 单体")
    @TableField("type")
    private Integer type;

    @ApiModelProperty(value = "星级，2民宿，3三星级，4四星级，5五星级，6商务")
    @TableField("star_level")
    private Integer starLevel;

    @ApiModelProperty(value = "舒适度 1舒适 2高档 3豪华 4民宿专区")
    @TableField("comfort_level")
    private Integer comfortLevel;

    @ApiModelProperty(value = "是否是甄选酒店 0：C2B   1：甄选  3：精选")
    @TableField("vip_flag")
    private Integer vipFlag;

    @ApiModelProperty(value = "是否可用优惠券 0 不可用  1可用")
    @TableField("enabled_coupon")
    private Integer enabledCoupon;

    @ApiModelProperty(value = "状态,1待提交，2待审核，3通过，4驳回")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "负责人信息")
    @TableField("principal_info")
    private String principalInfo;

    @ApiModelProperty(value = "酒店的退款配置信息")
    @TableField("refund_cfg")
    private String refundCfg;

    @TableField("extra_info")
    private String extraInfo;

    @ApiModelProperty(value = "经度")
    @TableField("position_x")
    private Double positionX;

    @ApiModelProperty(value = "纬度")
    @TableField("position_y")
    private Double positionY;

    @ApiModelProperty(value = "酒店综合评分0-100")
    @TableField("score")
    private Integer score;

    @ApiModelProperty(value = "是否启用")
    @TableField("valid")
    private Boolean valid;

    @ApiModelProperty(value = "默认1，代表未删除，0代表已删除")
    @TableField("is_del")
    private Integer isDel;

    @ApiModelProperty(value = "平台分成比率(千分比)")
    @TableField("parent_tax")
    private Integer parentTax;

    @ApiModelProperty(value = "酒店免佣金类型 -1：无免佣期 1：免30天 2：免60天 3：免90天 0:其他日期设置")
    @TableField("no_fee_type")
    private Integer noFeeType;

    @ApiModelProperty(value = "酒店免用期开始日期（yyyy-MM-dd）")
    @TableField("start_date_notax")
    private Date startDateNotax;

    @ApiModelProperty(value = "酒店免用期结束日期（yyyy-MM-dd）")
    @TableField("end_date_notax")
    private Date endDateNotax;

    @ApiModelProperty(value = "手动抢单标志(0自动，1手动) 默认0自动")
    @TableField("manual_pick_order")
    private Integer manualPickOrder;

    @ApiModelProperty(value = "酒店支付账户 json")
    @TableField("pay_accounts")
    private String payAccounts;

    @ApiModelProperty(value = "联系人")
    @TableField("contact_name")
    private String contactName;

    @ApiModelProperty(value = "联系电话")
    @TableField("phone")
    private String phone;

    @ApiModelProperty(value = "固话")
    @TableField("tel")
    private String tel;

    @ApiModelProperty(value = "邮箱")
    @TableField("email")
    private String email;

    @ApiModelProperty(value = "vip酒店佣金比率(百分比)")
    @TableField("fee_percent")
    private Integer feePercent;

    @ApiModelProperty(value = "共享床垫订单佣金比例(百分比)")
    @TableField("mattress_percent")
    private Integer mattressPercent;

    @ApiModelProperty(value = "备注")
    @TableField("remark")
    private String remark;


    public static final String ID = "id";

    public static final String GMT_CREATE = "gmt_create";

    public static final String GMT_MODIFIED = "gmt_modified";

    public static final String OPERATOR_ID = "operator_id";

    public static final String PROVINCE_AGENT_ID = "province_agent_id";

    public static final String CITY_AGENT_ID = "city_agent_id";

    public static final String ADMIN_ID = "admin_id";

    public static final String DEVELOPER_ID = "developer_id";

    public static final String COMPANY_ID = "company_id";

    public static final String NAME = "name";

    public static final String DESCRIPTION = "description";

    public static final String ADDRESS = "address";

    public static final String TYPE = "type";

    public static final String STAR_LEVEL = "star_level";

    public static final String COMFORT_LEVEL = "comfort_level";

    public static final String VIP_FLAG = "vip_flag";

    public static final String ENABLED_COUPON = "enabled_coupon";

    public static final String STATUS = "status";

    public static final String PRINCIPAL_INFO = "principal_info";

    public static final String REFUND_CFG = "refund_cfg";

    public static final String EXTRA_INFO = "extra_info";

    public static final String POSITION_X = "position_x";

    public static final String POSITION_Y = "position_y";

    public static final String SCORE = "score";

    public static final String VALID = "valid";

    public static final String IS_DEL = "is_del";

    public static final String PARENT_TAX = "parent_tax";

    public static final String NO_FEE_TYPE = "no_fee_type";

    public static final String START_DATE_NOTAX = "start_date_notax";

    public static final String END_DATE_NOTAX = "end_date_notax";

    public static final String MANUAL_PICK_ORDER = "manual_pick_order";

    public static final String PAY_ACCOUNTS = "pay_accounts";

    public static final String CONTACT_NAME = "contact_name";

    public static final String PHONE = "phone";

    public static final String TEL = "tel";

    public static final String EMAIL = "email";

    public static final String FEE_PERCENT = "fee_percent";

    public static final String MATTRESS_PERCENT = "mattress_percent";

    public static final String REMARK = "remark";

}
